#pragma once


#define MAX(a,b) a>b?a:b
#define max(a,b) MAX(a,b)
#define MIN(a,b) a<b?a:b
#define min(a,b) MIN(a,b)


void InsertSort(int* arr, int n);
void ShellSort(int* arr, int n);
void SelectSort(int* arr, int n);
void BubbleSort(int* arr, int n);
void QuickSort(int* arr, int begin, int end);

void create_z(char* str, int* z);
char* my_strcat(char dest[], char src[]);
char* reverse(char *str);